Micron Document
Livres et Wikis | Archives | Info


JavaScript
part 17/19 Β· 71.2 KB total
layout: Wide Β· Narrow Β· Centered
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
return false;
}

Par ailleurs, la mΓ©thode Object.create introduite dans ECMAScript 5
permet d'Γ©viter d'utiliser directement les fonctions constructeurs,
leurs propriΓ©tΓ©s prototype et l'opΓ©rateur new, pour ne travailler
qu'avec des objets. L'utilisation de cette mΓ©thode simplifie grandement
la complexitΓ© du code et est donc recommandΓ©e. La mΓ©thode Object.create
est dΓ©finie par

if (typeof Object.create !== 'function') {
Object.create = function (o) {
function F() {}
F.prototype = o;
return new F();
};
}

L'exemple prΓ©cΓ©dent peut alors Γͺtre réécrit

const MonObjet = {
function initialiser() {
this.maPropriete1 = 3;
}
}
const monInstance = Object.create(MonObjet);
monInstance.initialiser();
alert(monInstance.maPropriete1); // affiche 3
MonObjet.maPropriete2 = 5;
alert(monInstance.maPropriete2); // affiche 5

SΓ©paration des instructions

En C, chaque instruction se termine par un point-virgule. Cette pratique
a fait du point-virgule une obligation dans de nombreux langages
inspirΓ©s de la syntaxe du C.

JavaScript est plus souple, permettant Γ  une fin de ligne de marquer
implicitement la fin d'une instruction. Le but est de faciliter l'usage
du langage aux personnes inexpΓ©rimentΓ©es en programmation informatique.
Mais cette souplesse introduit des effets inattenduscite-ref-32[32] :

return
true;

Le parseur comprend cela comme deux instructions :

return;
true;

Les expressions de fonctions immΓ©diatement invoquΓ©es lorsque le
programmeur s'appuie sur les fins d'instruction implicites rencontrent
également ce genre de problème avec l'usage des parenthèses :

maVariable1 = maVariable2 + maVariable3
(function () {
// code
})()

est traitΓ© comme

maVariable1 = maVariable2 + maVariable3(function () { /* code */ })();

Les ouvrages de programmation avancΓ©s en JavaScript mettent en garde
contre les effets inattendus de la dΓ©duction automatique de fin
d'instruction et conseillent d'Γ©crire un point-virgule Γ  la fin de
chaque instruction, ce qui n'empΓͺche pas les surprises lorsqu'on oublie
le point-virgule, d'autant plus quand la compression du code impose le
retrait des retours chariot.


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────